#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using pii = pair<int, int>;
#define rep(i, a, b) for (int i = (a); i <= (b); i++)
#define per(i, a, b) for (int i = (a); i >= (b); i--)
#define endl '\n'
const int N = 2e5 + 5;

int n, m;
int a[5];
void dfs() {
  if (a[1] == 1 && a[2] == 1 && a[3] == 1 && a[4] == 1) return;
  rep(i, 1, 4) {
    int j = i == 4 ? 1 : i + 1;
    if (a[i] % 2 == 0 && a[j] % 2 == 0) {
      cout << '/' << i << endl;
      a[i] >>= 1, a[j] >>= 1;
      dfs();
      return;
    }
  }
  // all odd or odd even
  int even = 0;
  rep(i, 1, 4) {
    if (a[i] % 2 == 0 && a[even] < a[i]) even = i;
  }
  if (even) {
    int j = even == 1 ? 4 : even - 1;
    int k = even == 4 ? 1 : even + 1;
    cout << '+' << j << endl;
    cout << '+' << even << endl;
    a[j]++, a[even] += 2, a[k]++;
    if (a[j] > a[k]) {
      cout << '/' << j << endl;
      a[j] >>= 1, a[even] >>= 1;
    } else {
      cout << '/' << even << endl;
      a[even] >>= 1, a[k] >>= 1;
    }
    dfs();
    return;
  }
  int mx = 0;
  rep(i, 1, 4) if (a[mx] < a[i]) mx = i;
  int j = mx == 1 ? 4 : mx - 1;
  int k = mx == 4 ? 1 : mx + 1;
  if (a[j] > a[k]) {
    cout << '+' << j << endl;
    cout << '/' << j << endl;
    a[j] = (a[j] + 1) / 2;
    a[mx] = (a[mx] + 1) / 2;
  } else {
    cout << '+' << mx << endl;
    cout << '/' << mx << endl;
    a[k] = (a[k] + 1) / 2;
    a[mx] = (a[mx] + 1) / 2;
  }
  dfs();
  return;
}
void solve() {
  rep(i, 1, 4) cin >> a[i];
  dfs();
  return;
}
int main() {
  ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
  int t = 1;
  while (t--) solve();
  return 0;
}